package cn.tedu.file;
/**
 * @Author 金帮嘉诚  @Date 2021-06-16 周三 16:43
 */
/*本类用于测试文件类File*/

import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * 知识点：
 */
public class TestFile {
    public static void main(String[] args) throws IOException {
        //D:\ready\1.txt
        //\创建File对象
        //构造函数的参数是String类型的路径名
        //单个反斜杠表示转义，所以路径中的反斜杠需要一个反斜杠来转义
        //注意后缀名也属于文件名
        //File需要导包 java.io.File

        File f = new File("D:\\ready\\1.txt");
        //File常用方法
        //测试文件与文件夹的基本属性
        System.out.println("f.length() : "+f.length());//字节数
        System.out.println("f.exists() : "+f.exists());//是否存在
        System.out.println("f.isFile() : "+f.isFile());//是否文件
        System.out.println("f.isDirectory() : "+f.isDirectory());//是否是文件夹
        System.out.println("f.getName() : "+f.getName());//获取文件（夹）名
        System.out.println("f.getParent() : "+f.getParent());//获取上级目录
        System.out.println("f.getAbsoluteFile() : "+f.getAbsoluteFile());//获取绝对目录

        //2.2 Cr De
        f=new File("D:\\ready\\2.txt");
        //本方法才是真正帮你在
        //
        System.out.println("f.createNewFile() = " + f.createNewFile());//第一次创建成功返回true，如果已经存在该文件则返回false

        f=new File("D:\\ready\\m");
        System.out.println("f.mkdir() = " + f.mkdir());//创建一个文件夹

        f=new File("D:\\ready\\a\\b\\c");
        System.out.println("f.mkdirs() = " + f.mkdirs());//true，多个文件夹方法不同


        System.out.println("f.delete() = " + f.delete());//true，删除空文件夹
        System.out.println("f.delete() = " + f.delete());//false，f没改变不能继续删除

        f=new File("D:\\ready\\2.txt");
        System.out.println("f.delete() = " + f.delete());//true，删除文件

        f=new File("D:\\ready\\a");
        System.out.println("f.delete() = " + f.delete());//false，不能删除非空文件夹
        System.out.println("f.getAbsoluteFile = " + f.getAbsoluteFile());

        f=new File("D:\\ready");
        String[] list = f.list();//Alt+Enter
        System.out.println("Arrays.toString(list) = " + Arrays.toString(list));

        File[] files = f.listFiles();//常用
        System.out.println("Arrays.toString(files) = " + Arrays.toString(files));
        System.out.println("files[0].length() = " + files[0].length());
    }
}
